package cn.edu.dgut.sai.aop;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Component;

/**
 * @author Sai
 * Created by Sai on 2019/9/7.
 *
 * 启用@AspectJ支持后，在应用程序上下文中定义的任何bean都具有@AspectJ方面的类（具有@Aspect注释），
 * S​​pring会自动检测并用于配置Spring AOP。接下来的两个示例显示了非常有用的方面所需的最小定义。
 */
@Component
@Aspect
public class FirstAop {

//    @Before("execution(public * *(..))")
    public void testaop() {
        System.out.println("-------------AOPing......");
    }

//    @Before("within(cn.edu.dgut.sai.config.*)")
    public void testaop1() {
        System.out.println("-------------AOPing......");
    }

//    @Before("target(cn.edu.dgut.sai.config.TransferServicesImpl2)")
    public void testaop2() {
        System.out.println("-------------AOPing......");
    }


    @Before("@annotation(cn.edu.dgut.sai.config.Sai)")
    public void testaop3() {
        System.out.println("-------------AOPing......");
    }
}
